import Vue from 'vue'
import Vuex from 'vuex'
// 使用vuex管理和共享token
//   - 共享token数据
//   - 在vuex中更好操作，更好监听。
// 存在问题： 刷新页面的场景 => 结合本地存储做数据持久化
// 步骤：
// 1. state中增加user字段，默认值从本地获取
// 2. mutations中添加修改方法setToken()和delToken

import * as auth from '../utils/auth'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 存储登录后用户token=》{token:string, refresh_token:string}
    user: auth.getToken || {}
  },
  mutations: {
    // 存
    setToken (state, token) {
      // 1.存到内存
      state.user = token
      // 2.存到本地(硬盘)
      auth.setToken(token)
    },
    delToken (state) {
      state.user = {}
      auth.delToken()
    }
  },
  actions: {
    // 登录接口请求
    login () {

    }
  },
  modules: {
  }
})
